Skip to content

OSAC-865: add Slack notification step for CI jobs#79329

Closed
omer-vishlitzky wants to merge 2 commits into
openshift:mainfrom
omer-vishlitzky:osac-slack-notify
Closed

OSAC-865: add Slack notification step for CI jobs#79329
omer-vishlitzky wants to merge 2 commits into
openshift:mainfrom
omer-vishlitzky:osac-slack-notify

Conversation

@omer-vishlitzky
Copy link
Copy Markdown
Contributor

@omer-vishlitzky omer-vishlitzky commented May 15, 2026

Summary

  • Adds osac-project-notify step-registry ref that posts job results to Slack via incoming webhook
  • Wired into e2e-vmaas presubmit on osac-test-infra for validation — will be moved to periodic jobs after confirming it works

Test plan

  • Run /test e2e-vmaas rehearsal to confirm the webhook fires and Slack message is received

Summary

This PR adds Slack notification capability to the OpenShift CI infrastructure by introducing a new osac-project-notify step-registry entry. This step posts job completion results to Slack via an incoming webhook, enabling real-time notification of CI job outcomes.

Changes

New Slack Notification Step:

  • Created osac-project-notify step that reads a Slack webhook URL from Vault (test-credentials namespace) and sends job completion notifications
  • The script constructs Prow job log links with appropriate URL formatting for presubmit PRs vs. periodic/non-PR jobs
  • Configured as a best-effort step with 5-minute timeout, running from the dev-scripts base image with minimal resource requests (100m CPU, 200Mi memory)
  • Includes OWNERS file and step metadata for proper governance

Integration:

  • Wired the notification step into the e2e-vmaas presubmit test's post-pipeline on the osac-test-infra repository for initial validation before broader rollout to periodic jobs
  • Updated the osac-project-cluster-tool-vmaas workflow to include the baremetalds-devscripts-ibm step

Supporting Changes:

  • Enhanced IBM mirror handling in baremetalds-devscripts-ibm-commands.sh to uncomment mirrorlist= entries in addition to existing metalink= handling, improving compatibility with community mirrors (CentOS Stream + Rocky)

Testing

The PR includes a test plan to run the /test e2e-vmaas rehearsal command to validate that the webhook integration works and Slack messages are successfully delivered.

… workflow

The baremetalds-devscripts-ibm step only uncommented #metalink= lines
(CentOS Stream). Rocky Linux uses #mirrorlist= instead, so on Rocky
hosts the step commented out the IBM baseurl but left no working
alternative, causing "Cannot find a valid baseurl" errors.

Add #mirrorlist= handling and include the step in the osac-project
cluster-tool-vmaas workflow.
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 15, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented May 15, 2026

@omer-vishlitzky: This pull request references OSAC-865 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

  • Adds osac-project-notify step-registry ref that posts job results to Slack via incoming webhook
  • Wired into e2e-vmaas presubmit on osac-test-infra for validation — will be moved to periodic jobs after confirming it works

Test plan

  • Run /test e2e-vmaas rehearsal to confirm the webhook fires and Slack message is received

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 15, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 398fad96-a7b6-480b-808f-b3fe1c71d5aa

📥 Commits

Reviewing files that changed from the base of the PR and between e05b31c and 419d306.

📒 Files selected for processing (5)
  • ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml
  • ci-operator/step-registry/osac-project/notify/OWNERS
  • ci-operator/step-registry/osac-project/notify/osac-project-notify-commands.sh
  • ci-operator/step-registry/osac-project/notify/osac-project-notify-ref.metadata.json
  • ci-operator/step-registry/osac-project/notify/osac-project-notify-ref.yaml
✅ Files skipped from review due to trivial changes (3)
  • ci-operator/step-registry/osac-project/notify/OWNERS
  • ci-operator/step-registry/osac-project/notify/osac-project-notify-ref.metadata.json
  • ci-operator/step-registry/osac-project/notify/osac-project-notify-ref.yaml
🚧 Files skipped from review as they are similar to previous changes (2)
  • ci-operator/step-registry/osac-project/notify/osac-project-notify-commands.sh
  • ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml

Walkthrough

Adds a new osac-project-notify CI step (script, ref YAML, metadata, OWNERS) that posts Slack messages after jobs, updates the vmaas workflow to include an IBM devscripts pre-step, adds osac-project post-steps to e2e-vmaas, and tweaks an IBM baremetal dev-scripts sed to uncomment #mirrorlist= lines.

Changes

CI Workflow Enhancement

Layer / File(s) Summary
IBM mirror configuration tweak
ci-operator/step-registry/baremetalds/devscripts/ibm/baremetalds-devscripts-ibm-commands.sh
sed invoked on /etc/yum.repos.d/*.repo now also uncomments #mirrorlist= (in addition to #metalink=) for repos matching the IBM networklayer.com pattern; inline comment updated.
Slack notification step implementation
ci-operator/step-registry/osac-project/notify/osac-project-notify-commands.sh, ci-operator/step-registry/osac-project/notify/osac-project-notify-ref.yaml, ci-operator/step-registry/osac-project/notify/osac-project-notify-ref.metadata.json, ci-operator/step-registry/osac-project/notify/OWNERS
Adds osac-project-notify script and step: script reads Slack webhook from Vault (/var/run/vault/osac-slack-webhook/url), builds a job-specific Prow logs URL (different for presubmit vs others), and sends a JSON payload to the webhook via curl. Step YAML configures best-effort, 5m timeout, Vault credential mount, and resource requests; metadata/OWNERS set osac-cicd.
Workflow wiring: pre/post steps
ci-operator/step-registry/osac-project/cluster-tool/vmaas/osac-project-cluster-tool-vmaas-workflow.yaml, ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml
Adds baremetalds-devscripts-ibm to the vmaas workflow pre steps. Adds a post section to the e2e-vmaas test listing osac-project-notify, osac-project-gather, osac-project-cluster-tool-destroy, ofcir-gather, and ofcir-release as referenced steps.
sequenceDiagram
  autonumber
  actor CIJob as "CI job container"
  participant Vault as "Vault (test-credentials)"
  participant Prow as "Prow (logs)"
  participant Slack as "Slack webhook"

  CIJob->>Vault: read /var/run/vault/osac-slack-webhook/url
  CIJob->>Prow: construct View logs URL (presubmit vs others)
  CIJob->>Slack: POST JSON message (job result + View logs link)
  Slack-->>CIJob: 200/response
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

rehearsals-ack

🚥 Pre-merge checks | ✅ 12
✅ Passed checks (12 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title clearly and specifically describes the main change: adding a Slack notification step for CI jobs, which aligns with the changeset that adds the osac-project-notify step-registry entries and wires them into the e2e-vmaas test.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed PR contains no Go test files or Ginkgo tests. Changes are limited to CI/operator pipeline YAML configuration, shell scripts, and metadata files. The check is not applicable.
Test Structure And Quality ✅ Passed Custom check not applicable. PR contains no Ginkgo test code—only CI/operator YAML configs, shell scripts, and metadata files. Check requires reviewing test structure and quality in Ginkgo tests.
Microshift Test Compatibility ✅ Passed This PR does not add any new Ginkgo e2e tests. It adds CI/operator infrastructure (YAML configs, shell scripts, OWNERS files) and a Slack notification step helper. The check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed This PR does not add any new Ginkgo e2e tests. It only modifies CI/CD infrastructure files (YAML configs, shell scripts, metadata). The SNO compatibility check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed No deployment manifests, operator code, or scheduling constraints affecting topology compatibility are added or modified in this PR.
Ote Binary Stdout Contract ✅ Passed OTE check is for Go test binaries. This PR has no Go code changes - only CI config YAML, shell scripts, and metadata. Check is not applicable.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Custom check not applicable. PR contains only CI/CD infrastructure changes (YAML configs, shell scripts, OWNERS file) with no new Ginkgo e2e tests.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 15, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: omer-vishlitzky
Once this PR has been reviewed and has the lgtm label, please assign honza for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot requested review from adriengentil and eranco74 May 15, 2026 00:15
Add osac-project-notify step-registry ref that posts job results
to Slack via incoming webhook. Wired into e2e-vmaas presubmit
for testing — will be moved to periodic jobs after validation.
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml (1)

69-74: ⚖️ Poor tradeoff

Consider moving notification to workflow after validation.

The test explicitly defines post steps that duplicate four of the five steps already present in the osac-project-cluster-tool-vmaas workflow (lines 13-17 in the workflow file). Only osac-project-notify is new. This duplication creates maintenance burden—if the workflow's post steps evolve, this test configuration must be updated separately.

Since the workflow already specifies allow_best_effort_post_steps: true, adding osac-project-notify directly to the workflow's post steps would eliminate the duplication and ensure all tests using this workflow benefit from notifications.

The PR objectives mention this is intentionally wired into e2e-vmaas for validation first, so this comment is a reminder to refactor once validation succeeds.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`
around lines 69 - 74, This test config duplicates post steps already declared in
the osac-project-cluster-tool-vmaas workflow and only adds osac-project-notify;
remove the duplicated refs (osac-project-gather,
osac-project-cluster-tool-destroy, ofcir-gather, ofcir-release) from the test's
post list and instead add the osac-project-notify step to the
osac-project-cluster-tool-vmaas workflow's post steps (the workflow already has
allow_best_effort_post_steps: true), so the notification is handled centrally
and the test no longer duplicates workflow post logic.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@ci-operator/step-registry/osac-project/notify/osac-project-notify-commands.sh`:
- Around line 6-17: The script exposes the sensitive WEBHOOK_URL when shell
tracing (set -x) is enabled; wrap the secret handling (reading WEBHOOK_URL from
/var/run/vault/osac-slack-webhook/url and the subsequent curl invocation that
uses "${WEBHOOK_URL}") with a temporary disabled-tracing block: save current
xtrace state, run commands that read/use WEBHOOK_URL with tracing turned off,
then restore the original xtrace state so other steps remain unaffected; ensure
both the assignment to WEBHOOK_URL and the curl --data invocation are inside
this protected block.

---

Nitpick comments:
In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`:
- Around line 69-74: This test config duplicates post steps already declared in
the osac-project-cluster-tool-vmaas workflow and only adds osac-project-notify;
remove the duplicated refs (osac-project-gather,
osac-project-cluster-tool-destroy, ofcir-gather, ofcir-release) from the test's
post list and instead add the osac-project-notify step to the
osac-project-cluster-tool-vmaas workflow's post steps (the workflow already has
allow_best_effort_post_steps: true), so the notification is handled centrally
and the test no longer duplicates workflow post logic.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: ed8cd431-5ac1-407c-aa52-a93c531073ee

📥 Commits

Reviewing files that changed from the base of the PR and between 8ff65c7 and e05b31c.

📒 Files selected for processing (7)
  • ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml
  • ci-operator/step-registry/baremetalds/devscripts/ibm/baremetalds-devscripts-ibm-commands.sh
  • ci-operator/step-registry/osac-project/cluster-tool/vmaas/osac-project-cluster-tool-vmaas-workflow.yaml
  • ci-operator/step-registry/osac-project/notify/OWNERS
  • ci-operator/step-registry/osac-project/notify/osac-project-notify-commands.sh
  • ci-operator/step-registry/osac-project/notify/osac-project-notify-ref.metadata.json
  • ci-operator/step-registry/osac-project/notify/osac-project-notify-ref.yaml

Comment on lines +6 to +17
WEBHOOK_URL="$(cat /var/run/vault/osac-slack-webhook/url)"
PROW_URL="https://prow.ci.openshift.org/view/gs/test-platform-results"

if [[ "${JOB_TYPE:-}" == "presubmit" ]]; then
JOB_URL="${PROW_URL}/pr-logs/pull/${REPO_OWNER}_${REPO_NAME}/${PULL_NUMBER}/${JOB_NAME}/${BUILD_ID}"
else
JOB_URL="${PROW_URL}/logs/${JOB_NAME}/${BUILD_ID}"
fi

curl -s -X POST -H 'Content-type: application/json' \
--data "{\"text\":\"Job *${JOB_NAME}* #${BUILD_ID} completed.\n<${JOB_URL}|View logs>\"}" \
"${WEBHOOK_URL}"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Protect webhook URL from leaking to CI logs.

The script reads and uses a sensitive webhook URL without disabling shell tracing. If shell tracing is enabled in the CI environment, the webhook URL will be echoed to logs, exposing the credential. As per coding guidelines, step registry scripts must disable shell tracing temporarily when handling sensitive operations.

🔒 Proposed fix to protect the webhook URL
 set -o nounset
 set -o pipefail
+set +x  # Disable tracing to protect webhook URL

 WEBHOOK_URL="$(cat /var/run/vault/osac-slack-webhook/url)"
 PROW_URL="https://prow.ci.openshift.org/view/gs/test-platform-results"

 if [[ "${JOB_TYPE:-}" == "presubmit" ]]; then
     JOB_URL="${PROW_URL}/pr-logs/pull/${REPO_OWNER}_${REPO_NAME}/${PULL_NUMBER}/${JOB_NAME}/${BUILD_ID}"
 else
     JOB_URL="${PROW_URL}/logs/${JOB_NAME}/${BUILD_ID}"
 fi

 curl -s -X POST -H 'Content-type: application/json' \
     --data "{\"text\":\"Job *${JOB_NAME}* #${BUILD_ID} completed.\n<${JOB_URL}|View logs>\"}" \
     "${WEBHOOK_URL}"
+
+set -x  # Re-enable tracing if it was on

As per coding guidelines, step registry scripts must protect sensitive information from leaking into CI logs and disable shell tracing when handling secrets.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@ci-operator/step-registry/osac-project/notify/osac-project-notify-commands.sh`
around lines 6 - 17, The script exposes the sensitive WEBHOOK_URL when shell
tracing (set -x) is enabled; wrap the secret handling (reading WEBHOOK_URL from
/var/run/vault/osac-slack-webhook/url and the subsequent curl invocation that
uses "${WEBHOOK_URL}") with a temporary disabled-tracing block: save current
xtrace state, run commands that read/use WEBHOOK_URL with tracing turned off,
then restore the original xtrace state so other steps remain unaffected; ensure
both the assignment to WEBHOOK_URL and the curl --data invocation are inside
this protected block.

@omer-vishlitzky
Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-osac-test-infra-main-e2e-vmaas

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@omer-vishlitzky: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-osac-project-osac-test-infra-main-e2e-vmaas osac-project/osac-test-infra presubmit Ci-operator config changed
pull-ci-openshift-insights-operator-master-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-5.1-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-5.0-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-4.23-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-4.22-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-4.21-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-4.20-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-4.19-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-4.18-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-4.17-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-4.16-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-4.15-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-4.14-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-4.13-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-4.12-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-release-4.11-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-insights-operator-stage-e2e-metal-ipi-ovn-ipv6 openshift/insights-operator presubmit Registry content changed
pull-ci-openshift-cluster-network-operator-master-e2e-metal-ipi-ovn-ipv6 openshift/cluster-network-operator presubmit Registry content changed
pull-ci-openshift-cluster-network-operator-release-5.1-e2e-metal-ipi-ovn-ipv6 openshift/cluster-network-operator presubmit Registry content changed
pull-ci-openshift-cluster-network-operator-release-5.0-e2e-metal-ipi-ovn-ipv6 openshift/cluster-network-operator presubmit Registry content changed
pull-ci-openshift-cluster-network-operator-release-4.23-e2e-metal-ipi-ovn-ipv6 openshift/cluster-network-operator presubmit Registry content changed
pull-ci-openshift-cluster-network-operator-release-4.22-e2e-metal-ipi-ovn-ipv6 openshift/cluster-network-operator presubmit Registry content changed
pull-ci-openshift-cluster-network-operator-release-4.21-e2e-metal-ipi-ovn-ipv6 openshift/cluster-network-operator presubmit Registry content changed
pull-ci-openshift-cluster-network-operator-release-4.20-e2e-metal-ipi-ovn-ipv6 openshift/cluster-network-operator presubmit Registry content changed

A total of 3987 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs.

A full list of affected jobs can be found here

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@omer-vishlitzky
Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-osac-test-infra-main-e2e-vmaas

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 15, 2026

@omer-vishlitzky: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@omer-vishlitzky
Copy link
Copy Markdown
Contributor Author

/hold

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants